#ifndef __SQL_LIST_H__
#define __SQL_LIST_H__

// 导入头文件
#include "Element_data_list.h"

// 定义数据关系

#define MAX_SIZE 50//顺序表最大容量

typedef struct Sql_list
{
    Element_data data[MAX_SIZE];
    int len; // 当前存储的有效数据长度
} Sql_list;

// 声明 数据操作
// 顺序表的创建：
void Init_Sql_List(Sql_list *L);

// 顺序表的插入：
void tail_insert_list(Sql_list *L, Element_data data);//尾插
void pos_insert_list(Sql_list *L, int index, Element_data data);//按位插

// 顺序表的删除：
void tail_del_list(Sql_list *L);//尾删
void pos_del_list(Sql_list *L, int index);//按位删

// 顺序表的查找：
Element_data *find_by_index(Sql_list *L, int index);//按位查找
int find_by_name(Sql_list *L, char *name);//按值查找

// 顺序表的遍历：
void printf_Sql_List(Sql_list *L);

// 顺序表的判空：
void IsEmpty_Sql_List(Sql_list *L);

// 顺序表的判满：
void IsFull_Sql_List(Sql_list *L);

// 顺序表的清空：
void Clear_Sql_List(Sql_list *L);

// 顺序表的合并：
Sql_list *Merge_Sql_Lists(Sql_list *L1, Sql_list *L2);

// 顺序表的扩容：
Sql_list *Expand_Sql_List(Sql_list *L1, int len);

// 顺序表的销毁：
// void Destroy_Sql_List(Sql_list * L);

#endif